<?php
	session_start();
	include('../includes/config.php');
	include('../classes/log.php');
	include('../classes/database.php');
	include('../includes/fonctions.php');

	$idconnect=Database::getInstance();

	if(!isset($_SESSION['membre_id'])){
		header('Location: ../site.php');
		exit();
	}
	else{
		if(!empty($_POST)){
			//Nom
			if(!empty($_POST['nom'])){
				$nom = trim($_POST['nom']);
				$np_result = checknom($nom);
				if($np_result == 'tooshort'){
					$_SESSION['nom_info'] = '<span class="erreur">Le nom '.htmlspecialchars($nom, ENT_QUOTES).' est trop court, vous devez en choisir un plus long (minimum 2 caractères).</span><br/>';
					$_SESSION['form_nom'] = '';
					$_SESSION['erreurs']++;
				}

				else if($np_result == 'toolong'){
					$_SESSION['nom_info'] = '<span class="erreur">Le nom '.htmlspecialchars($nom, ENT_QUOTES).' est trop long, vous devez en choisir un plus court (maximum 30 caractères).</span><br/>';
					$_SESSION['form_nom'] = '';
					$_SESSION['erreurs']++;
				}

				else if($np_result == 'nofigure'){
					$_SESSION['nom_info'] = '<span class="erreur">Votre nom ne doit contenir que des lettres.</span><br/>';
					$_SESSION['form_nom'] = '';
					$_SESSION['erreurs']++;
				}

				else if($np_result == 'ok'){
					pg_query("UPDATE utilisateur SET nom='".htmlspecialchars($nom, ENT_QUOTES)."' WHERE id_user=".$_SESSION['membre_id']);
					$_SESSION['nom_info']="Nom d'utilisateur mis à jour. ";
					$_SESSION['form_nom'] = $nom;
				}

				else if($np_result == 'empty'){
					$_SESSION['nom_info'] = '<span class="erreur">Vous n\'avez pas entré de nom.</span><br/>';
					$_SESSION['form_nom'] = '';
					$_SESSION['erreurs']++;
				}
			}

			//Prénom
			if(!empty($_POST['prenom'])){
				$prenom = trim($_POST['prenom']);
				$np_result = checknom($prenom);
				if($np_result == 'tooshort'){
					$_SESSION['prenom_info'] = '<span class="erreur">Le prenom '.htmlspecialchars($prenom, ENT_QUOTES).' est trop court, vous devez en choisir un plus long (minimum 2 caractères).</span><br/>';
					$_SESSION['form_prenom'] = '';
					$_SESSION['erreurs']++;
				}

				else if($np_result == 'toolong'){
					$_SESSION['prenom_info'] = '<span class="erreur">Le prenom '.htmlspecialchars($prenom, ENT_QUOTES).' est trop long, vous devez en choisir un plus court (maximum 30 caractères).</span><br/>';
					$_SESSION['form_prenom'] = '';
					$_SESSION['erreurs']++;
				}

				else if($np_result == 'nofigure'){
					$_SESSION['prenom_info'] = '<span class="erreur">Votre prénom ne doit contenir que des lettres.</span><br/>';
					$_SESSION['form_prenom'] = '';
					$_SESSION['erreurs']++;
				}

				else if($np_result == 'ok'){
					pg_query("UPDATE utilisateur SET prenom='".htmlspecialchars($prenom, ENT_QUOTES)."' WHERE id_user=".$_SESSION['membre_id']);
					$_SESSION['nom_info']="Prénom d'utilisateur mis à jour. ";
					$_SESSION['form_prenom'] = $prenom;
				}

				else if($np_result == 'empty'){
					$_SESSION['prenom_info'] = '<span class="erreur">Vous n\'avez pas entré de prenom.</span><br/>';
					$_SESSION['form_prenom'] = '';
					$_SESSION['erreurs']++;
				}
			}

			//Mot de passe
			if(!empty($_POST['mdp'])){
				$mdp = trim($_POST['mdp']);
				$mdp_result = checkmdp($mdp, '');
				if($mdp_result == 'tooshort'){
					$_SESSION['mdp_info'] = '<span class="erreur">Le mot de passe entré est trop court, changez-en pour un plus long (minimum 6 caractères).</span><br/>';
					$_SESSION['form_mdp'] = '';
					$_SESSION['erreurs']++;
				}

				else if($mdp_result == 'toolong'){
					$_SESSION['mdp_info'] = '<span class="erreur">Le mot de passe entré est trop long, changez-en pour un plus court. (maximum 10 caractères)</span><br/>';
					$_SESSION['form_mdp'] = '';
					$_SESSION['erreurs']++;
				}

				else if($mdp_result == 'nofigure'){
					$_SESSION['mdp_info'] = '<span class="erreur">Votre mot de passe doit contenir au moins un chiffre.</span><br/>';
					$_SESSION['form_mdp'] = '';
					$_SESSION['erreurs']++;
				}

				else if($mdp_result == 'ok'){
					$_SESSION['mdp_info'] = '';
					$_SESSION['form_mdp'] = $mdp;
				}

				else if($mdp_result == 'empty'){
					$_SESSION['mdp_info'] = '<span class="erreur">Vous n\'avez pas entré de mot de passe.</span><br/>';
					$_SESSION['form_mdp'] = '';
					$_SESSION['erreurs']++;

				}

				//Mot de passe suite
				if(!empty($_POST['mdp_verif'])){
					$mdp_verif = trim($_POST['mdp_verif']);
					$mdp_verif_result = checkmdpS($mdp_verif, $mdp);
					if($mdp_verif_result == 'different'){
						$_SESSION['mdp_verif_info'] = '<span class="erreur">Le mot de passe de vérification diffère du mot de passe.</span><br/>';
						$_SESSION['form_mdp_verif'] = '';
						$_SESSION['erreurs']++;
						if(isset($_SESSION['form_mdp'])) unset($_SESSION['form_mdp']);
					}

					else{
						if($mdp_verif_result == 'ok'){
							$_SESSION['form_mdp_verif'] = $mdp_verif;
							$_SESSION['mdp_verif_info'] = '';
							pg_query("UPDATE utilisateur SET mdp='".htmlspecialchars(md5($mdp), ENT_QUOTES)."' WHERE id_user=".$_SESSION['membre_id']);
							$_SESSION['mdp_info'] = "Mot de passe mis à jour. ";
						}

						else{
							$_SESSION['mdp_verif_info'] = str_replace('passe', 'passe de vérification', $_SESSION['mdp_info']);
							$_SESSION['form_mdp_verif'] = '';
							$_SESSION['erreurs']++;
						}
					}
				}
			}
		}
	}
?>

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <link rel="stylesheet" href="../style.css" />
		<!--[if lt IE 9]>
        <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
        <![endif]-->
        <!--[if lte IE 7]>
        <link rel="stylesheet" href="../../style_ie.css" />
        <![endif]-->
        <title>Base de données Microcèbes</title>
    </head>

    <body>
		<?php include_once("../menu.php"); ?>

		<section id="main">
			<header>
				<h1>Gestion de mon compte</h1>
			</header>

			<article>

				<div class="border-red">
				<?php if($_SESSION['erreurs'] > 0)
				{
				?>
				<h1>Note :</h1>
					<p>
						Lors de votre dernière tentative de modification, des erreurs sont survenues, en voici la liste :<br/>
						<?php
							echo $_SESSION['nb_erreurs'];
							echo $_SESSION['mdp_info'];
							echo $_SESSION['mdp_verif_info'];
							echo $_SESSION['nom_info'];
							echo $_SESSION['prenom_info'];
						?><br/>
					</p>
					<?php }
					else if($_SESSION['erreurs']==0 && (isset($_SESSION['mdp_info']) || isset($_SESSION['mdp_verif_info']) ||
					isset($_SESSION['nom_info']) || isset($_SESSION['prenom_info']))){ ?>
					<p>
						Les champs suivants ont été modifiés:<br/>
						<?php
							if(isset($_SESSION['mdp_info'])) echo $_SESSION['mdp_info'];
							if(isset($_SESSION['mdp_verif_info'])) echo $_SESSION['mdp_verif_info'];
							if(isset($_SESSION['nom_info'])) echo $_SESSION['nom_info'];
							if(isset($_SESSION['prenom_info'])) echo $_SESSION['prenom_info'];
						?><br/>
					</p>
					<?php } ?>
				</div>

				<form method="post" action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI'], ENT_QUOTES); ?>">
					<p>
					<?php
						$query_temp = pg_query("SELECT * FROM utilisateur WHERE id_user=".pg_escape_string($_SESSION['membre_id']));
						$lect='';
						$saisie='';
						while ($back = pg_fetch_assoc($query_temp)) {
						?>
						<label class="label">Nom: </label><input type="text" class="box" name="nom" value="<?php if($back['nom']) echo $back['nom']; ?>" size="20"><br/>
						<label class="label">Prénom: </label><input type="text" class="box" name="prenom" value="<?php if($back['prenom']) echo $back['prenom']; ?>" size="20"><br/>
						<label class="label">Mot de passe: </label><input type="password" class="box" name="mdp" value="" size="20"><br/>
						<label class="label">Mot de passe(vérification): </label><input type="password" class="box" name="mdp_verif" value="" size="20"><br/>
						<label class="label">Pseudo: </label><input type="text" class="box" name="login" value="<?php if($back['login']) echo $back['login']; ?>" readonly size="20"><br/>
						<label class="label">Statut: </label><input type="text" class="box" name="statut" value="<?php if($back['statut']) echo $back['statut']; ?>" readonly size="40"><br/>
						<label class="label">Email: </label><input type="text" class="box" name="mail" value="<?php if($back['email']) echo $back['email']; ?>" readonly size="40"><br/>
						<?php if($back['date_expiration']){
							echo "<label class=\"label\">Date d'expiration du compte: </label><input type=\"text\" class=\"box\" name=\"date\" value=\"".date("d/m/Y", strtotime($back['date_expiration']))."\" readonly size=\"10\"><br/>";
						} ?>

					<?php
						}
						
					?>

						<input type="submit" value="Enregistrer les modifications" class="bouton" >
					</p>
				</form>
			</article>
		</section>
	</body>
</html>
